﻿	alter table dbo.PayApplyBill add 	EndPayApplyDate		datetime --最后付款日期，最后一次付款的日期
	alter table dbo.PayApplyBillHistory add 	EndPayApplyDate		datetime --最后付款日期，最后一次付款的日期
	--执行修改触发器 TriggerOutStoreBill


	alter table dbo.InStoreBill add 	ConfirmInvoiceFlag	 varchar(10) --确认发票标志：“发票已确认”，“发票未确认”
	alter table dbo.InStoreBill add 	ConfirmInvoiceDate	 datetime --确认发票日期
	alter table dbo.InStoreBill add 	ConfirmInvoiceID					VARCHAR(50)  --确认发票ID
	alter table dbo.InStoreBill add 	ConfirmInvoiceName			VARCHAR(50) --确认发票Name
	alter table dbo.InStoreBill add 	ObligateChar1		varchar(100) --预留字段1
	alter table dbo.InStoreBill add 	ObligateChar2		varchar(100) --预留字段2
	alter table dbo.InStoreBill add 	ObligateChar3		varchar(100) --预留字段3
	alter table dbo.InStoreBill add 	ObligateChar4		varchar(100) --预留字段4

	alter table dbo.InStoreBillHistory add 	ConfirmInvoiceFlag	 varchar(10) --确认发票标志：“发票已确认”，“发票未确认”
	alter table dbo.InStoreBillHistory add 	ConfirmInvoiceDate	 datetime --确认发票日期
	alter table dbo.InStoreBillHistory add 	ConfirmInvoiceID					VARCHAR(50)  --确认发票ID
	alter table dbo.InStoreBillHistory add 	ConfirmInvoiceName			VARCHAR(50) --确认发票Name
	alter table dbo.InStoreBillHistory add 	ObligateChar1		varchar(100) --预留字段1
	alter table dbo.InStoreBillHistory add 	ObligateChar2		varchar(100) --预留字段2
	alter table dbo.InStoreBillHistory add 	ObligateChar3		varchar(100) --预留字段3
	alter table dbo.InStoreBillHistory add 	ObligateChar4		varchar(100) --预留字段4

	--执行修改触发器 TriggerInStoreBill

	alter table dbo.InStoreBillDtl add 	ContractDtlNo	 varchar(100) --合同编号，明细也需要记录
	alter table dbo.InStoreBillDtl add 	InvoiceNoList	 varchar(200) --绑定的所有发票号码连接串，如132124324/23424324/2234234
	alter table dbo.InStoreBillDtl add 	InvoiceDtlTotalAmountTax		numeric(16,2) --该明细绑定的所有发票的金额之和

	alter table dbo.InStoreBillDtlHistory add 	ContractDtlNo	 varchar(100) --合同编号，明细也需要记录
	alter table dbo.InStoreBillDtlHistory add 	InvoiceNoList	 varchar(200) --绑定的所有发票号码连接串，如132124324/23424324/2234234
	alter table dbo.InStoreBillDtlHistory add 	InvoiceDtlTotalAmountTax		numeric(16,2) --该明细绑定的所有发票的金额之和

	--执行修改触发器 TriggerInStoreBillDtl


--drop table InvoiceBillInStoreBillDtl
create table InvoiceBillInStoreBillDtl  --发票入库单明细关联表
(
	InvoiceNo						VARCHAR(50)  not null,--发票号码--发票和入库单明细是多对多的关系
	InStoreBillDtlID				VARCHAR(36) not null ,--入库单明细号码
	Tag									VARCHAR(36)  not null,--行标志，不可更改，但不作为主键
	InvoiceDtlAmountTax		numeric(16,2) not null default 0,--发票明细含税金额
	InvoiceDtlPriceTax			numeric(16,2),--发票明细含税单价--可能会不用
	InvoiceDtlQuantity			numeric(16,2),--发票明细含税数量--可能会不用
	CreateUserID					VARCHAR(20) default '',
	CreateUserName				VARCHAR(20) default '',
	UpdateUserID					VARCHAR(20) default '',
	UpdateUserName			VARCHAR(20) default '',
	UpdateTime					datetime  default getdate(),
	CreateTime						datetime  default getdate(),
	ExtDateTime1					datetime,
	ExtDateTime2					datetime,
	ExtDateTime3					datetime,
	ExtDateTime4					datetime,
	ExtVarChar1						VARCHAR(50) default '',
	ExtVarChar2						 VARCHAR(50) default '',
	ExtVarChar3						VARCHAR(50) default '',
	ExtVarChar4						VARCHAR(50) default '',
    ExtNumeric1						numeric(16,4),
	ExtNumeric2						numeric(16,4),
	ExtNumeric3						numeric(16,4),
	ExtNumeric4						numeric(16,4),
	ISVALID							CHAR(1) default '1',--是否有效
	primary key(InvoiceNo,InStoreBillDtlID)
)
go

--drop table InvoiceBillInStoreBillDtlHistory
create table InvoiceBillInStoreBillDtlHistory  --发票入库单明细关联表-历史表
(
	AutoID								int Identity,
	InvoiceNo						VARCHAR(50)  not null,--发票号码--发票和入库单明细是多对多的关系
	InStoreBillDtlID				VARCHAR(36) not null ,--入库单明细号码
	Tag									VARCHAR(36)  not null,--行标志，不可更改，但不作为主键
	InvoiceDtlAmountTax		numeric(16,2) not null default 0,--发票明细含税金额
	InvoiceDtlPriceTax			numeric(16,2),--发票明细含税单价--可能会不用
	InvoiceDtlQuantity			numeric(16,2),--发票明细含税数量--可能会不用
	CreateUserID					VARCHAR(20) default '',
	CreateUserName				VARCHAR(20) default '',
	UpdateUserID					VARCHAR(20) default '',
	UpdateUserName			VARCHAR(20) default '',
	UpdateTime					datetime  default getdate(),
	CreateTime						datetime  default getdate(),
	ExtDateTime1					datetime,
	ExtDateTime2					datetime,
	ExtDateTime3					datetime,
	ExtDateTime4					datetime,
	ExtVarChar1						VARCHAR(50) default '',
	ExtVarChar2						 VARCHAR(50) default '',
	ExtVarChar3						VARCHAR(50) default '',
	ExtVarChar4						VARCHAR(50) default '',
    ExtNumeric1						numeric(16,4),
	ExtNumeric2						numeric(16,4),
	ExtNumeric3						numeric(16,4),
	ExtNumeric4						numeric(16,4),
	ISVALID							CHAR(1) default '1',--是否有效  
	OperationTime			 datetime  default getdate(),
	primary key(AutoID)
)
go

--执行创建触发器 dbo.TriggerInvoiceBillInStoreBillDtl

--开始修改字段长度
alter table GoodsCodeType alter column StoreTypeCode   VARCHAR(20) 

--修改web.config，加入配置：<add key="LowestVersion" value="5" />

--修改App.config，加入相关配置
--修正部分：
--1，增加了一个发票入库的界面，将实物入库和发票入库分两个界面
--2，当入库单入库确认后，才可以进行发票入库操作，发票入库查询才可以查到这个入库单
--3，发票入库实行发票明细和入库单明细绑定的策略：一个发票可以关联多个入库明细，一个入库明细可以关联多个发票明细
--4，当入库单的所有明细的费用都绑定了发票，且金额刚好相等（余额为0），那么此入库单可以执行发票入库确认了
--5，一张发票如果分摊完毕，无需等分摊该发票的所有入库单都发票确认完成，就可以执行付款操作
